package com.dhcc.bpm.modules.log.vo;

import org.springblade.core.mp.base.Excel;
import com.dhcc.bpm.modules.orga.entity.Orga;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * @ClassName OrgaRankVo.class
 * @Description 机构统计返回视图实体类
 * @Author xiaFaYu
 * @Date 2019-12-16 14:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "OrgaRankVo", description = "热门API排名")
public class OrgaRankVo extends Orga {

    private static final long serialVersionUID = 1L;
    /**
     * 请求日期
     */
    private String requestDate;
    /**
     * 开始日期
     */
    private String begDate;
    /**
     * 结束日期
     */
    private String endDate;
    /**
     * 排名
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @Excel(name ="排名")
    private Integer rank;
    /**
     * 交易量
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @Excel(name ="交易量(笔)")
    private Long  num;
    /**
     * 涨幅值
     */
    @Excel(name ="本日涨幅")
    private String increase;
    /**
     * 涨幅标志
     */
    private String flag;
    /**
     * 标志环境(1：沙箱测试环境，0：生产环境)
     */
    private String env;
    /**
     * 成功量
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private Long successNum;
    /**
     * 成功率
     */
    @Excel(name ="交易成功率")
    private String successRate;
    /**
     * 平均响应时间
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @Excel(name ="平均响应时间(s)")
    private Double responseTime;
    /**
     * 交易金额
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @Excel(name ="交易金额(元)")
    private Double txAmt;
    /**
     * 机构Id
     */
    private String orgaId;
    /**
     * 机构Code
     */
    private String opcOrgaCode;
    /**
     * 机构名称
     */
    private String orgaName;
    /**
     * 总行数
     */
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private Long lineNum;
    /**
     * 是否按交易量排序标志  true-优先按照交易量排序
     */
    private String rankFlag;
    /**
     * apiCode 集合
     */
    private List<String> apiCodeList;



    /**
     * 开始时间
     */
    @ApiModelProperty(value = "机构接入查询开始时间")
    private String accessStartDate;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "机构接入查询结束时间")
    private String accessEndDate;
    /**
     * 请求来源页面标志
     */
    private String reqFlag;

    /**
     * 变更未认证数量
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private Integer  changeNum;
    //1----来自首页
    private Integer  isFrom;
}
